<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>


    <div id="a"></div>

    <script>


        // 数组存一组相同类型的数据    单一的去存姓名   或者年龄  或者性别  ...
        //    数组具有有序性   下标访问



        // 对象描述一类事物的详细信息
        //    对象具有无序性   属性访问
        //    对象都是键值对  (键名和键值  属性名和属性值)
        //    属性具有唯一性(重复就会覆盖)
        //    访问方式
        //         点语法
        //         方括号语法
        //    对象的遍历  for in
        //       注意：遍历访问值的时候，必须用方括号这个语法


        //    注意：如果去访问对象或者数组不存在的值的时候，不会报错，只会显示undefined



        // var arr = ['张三' , 28 , 30 , '男' , function(){}] ;    // 数据类型不一样   无法区分存的数据的含义

        // 对象的创建
        //    属性:属性值,
        //    属性:属性值
        //    函数:function(){}

        //    键名:键值    键值对

        //    键名(属性) 具有唯一性   后面覆盖前面的值

        //    属性(键名) -> 字符串(但是没有写引号)



        // 所有如下变量都是用于描述一个人的相关信息
        // var name = '张三' ;
        // var age = 18 ; 
        // var sex = "男" ;
        // var score = 90 ;



        var obj = {
            name : '张三' ,
            age : 18 , 
            score : 100 ,
            sex : '男' ,
            age : 20
        }


      




        // 描述的是一个商店 的相关信息
        var goods = {
            name : '电视' , 
            price : '9999' ,
            des : '大屏幕电视' ,
            imgSrc : '../images/1.jpg'
        }




        console.log(obj);



        // 对象的遍历   for in 
        for(var key in obj) {
            console.log(key);   // 键名都是字符串
            // console.log(obj.key);   // key是一个变量
            console.log(obj[key]);   // 遍历对象的属性值的时候，只能使用方括号语法
        }



        // 对象的访问方式
        //   点语法
        //   中括号语法  属性名必须加引号

        console.log(obj['name']);



        var oDiv = document.getElementById('a') ;  // oDiv就是一个对象
        // oDiv.innerHTML = 666;
        oDiv['innerHTML'] = 666 ;








        for(var key in goods) {
            console.log(key);
            console.log(goods[key]);
        }





        // 数组和对象  注意
        //    没有值的时候，不会报错   undefined

        var arr = [1,2,3] ;
        console.log(arr[5]);

        console.log(obj.say);


        // console.log(oDiv.vlue);



    </script>
    
</body>
</html>